def generate_unique_id(items):
    """
    Generates a unique ID that is one greater than the maximum existing ID in the provided items.
    If the items list is empty, returns 1.
    
    Args:
        items (list): A list of dictionaries, each potentially containing an "id" key.
    
    Returns:
        int: The generated unique ID.
    """
    if not items:
        return 1
    existing_ids = [item["id"] for item in items if "id" in item]
    return max(existing_ids) + 1



